.\" Man page generated from reStructuredText.
.
.TH "RADOS" "8" "Mar 12, 2022" "dev" "Ceph"
.SH NAME
rados \- rados object storage utility
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.SH 提纲
.nf
\fBrados\fP [ \fIoptions\fP ] [ \fIcommand\fP ]
.fi
.sp
.SH 描述
.sp
\fBrados\fP 工具可操纵 Ceph 对象存储集群（ RADOS ），是 Ceph
分布式存储系统的一部分。
.SH 全局选项
.INDENT 0.0
.TP
.B \-\-object\-locator object_locator
设置操作的 object_locator （对象定位器？）。
.UNINDENT
.INDENT 0.0
.TP
.B \-p pool, \-\-pool pool
操作指定的存储池。大多数命令都得指定此参数。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-target\-pool pool
按名字指定目标存储池。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-pgid
作为 \fB\-\-pool\fP 的外加参数， \fB\-\-pgid\fP 是让用户指定 PG id
的，然后命令就径直导向此 PG 。加上这个选项，用户就可以把某些命令（如 \fBls\fP ）的范围限定于指定 PG 。
.UNINDENT
.INDENT 0.0
.TP
.B \-N namespace, \-\-namespace namespace
指定要给对象用的 rados 命名空间。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-all
ls 时加此选项来罗列所有命名空间里的对象。
放入 CEPH_ARGS 环境变量可以成为默认值。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-default
ls 时加此选项来罗列默认命名空间里的对象。
\-\-all 在环境变量里时，优先级高于 \-\-all 。
.UNINDENT
.INDENT 0.0
.TP
.B \-s snap, \-\-snap snap
从指定的存储池快照读出。适用于所有与存储池相关的读操作。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-create
创建指定的存储池或目录。
.UNINDENT
.INDENT 0.0
.TP
.B \-i infile
指定输入文件，其内容将作为此命令的载荷发送给监视器集群。
仅适用于部分监视器命令。
.UNINDENT
.INDENT 0.0
.TP
.B \-m monaddress[:port]
连接指定监视器（而非通过 ceph.conf 查找）。
.UNINDENT
.INDENT 0.0
.TP
.B \-b block_size
设置块尺寸，适用于 put/get/append 操作、及写入压力测试。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-striper
使用 rados 的条带化 API 而非默认的，支持的操作有 stat 、
get 、 put 、 append 、 truncate 、 rm 、 ls 以及所有与
xattr 相关的操作。
.UNINDENT
.INDENT 0.0
.TP
.B \-O object_size, \-\-object\-size object_size
在做写入压力测试的时候，设置 put/get 操作的对象尺寸。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-max\-objects
设置写压力测试的最大对象数。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-lock\-cookie locker\-cookie
申请咨询锁（ lock get 命令）时将设置锁 cookie 。
如果此 cookie 不是空的，那么释放锁时必须给 lock break 命令加上这个选项，为的是找到正确的锁。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-target\-locator
与 cp 命令一起用，可指定新对象的定位符。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-target\-nspace
与 cp 命令一起用，可指定新对象的命名空间。
.UNINDENT
.SH 压力测试选项
.INDENT 0.0
.TP
.B \-t N, \-\-concurrent\-ios=N
设置并发 I/O 操作的数量。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-show\-time
输出时用日期、时间作前缀。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-no\-verify
不要校验读对象的内容。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-write\-object
向对象们写入内容。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-write\-omap
向 omap 写入内容。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-write\-xattr
向扩展属性写入内容。
.UNINDENT
.SH LOAD GEN 选项
.INDENT 0.0
.TP
.B \-\-num\-objects
对象总量。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-min\-object\-size
最小对象尺寸。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-max\-object\-size
最大对象尺寸。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-min\-op\-len
操作的最小 IO 尺寸。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-max\-op\-len
操作的最大 IO 尺寸。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-max\-ops
最大操作量。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-max\-backlog
最大积压尺寸。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-read\-percent
读操作的百分比。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-target\-throughput
目标吞吐量（按字节）。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-run\-length
总时长（按秒）。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-offset\-align
对齐随机操作偏移量的边界。
.UNINDENT
.SH 缓存存储池选项
.INDENT 0.0
.TP
.B \-\-with\-clones
刷回或赶回对象时包括克隆品。
.UNINDENT
.SH OMAP 选项
.INDENT 0.0
.TP
.B \-\-omap\-key\-file file
从一个文件读取 omap 键名。
.UNINDENT
.SH 通用选项
.INDENT 0.0
.TP
.B \-c FILE, \-\-conf FILE
从指定配置文件读取配置。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-id ID
设置自己名字的 ID 部分。
.UNINDENT
.INDENT 0.0
.TP
.B \-n TYPE.ID, \-\-name TYPE.ID
设置 cephx 用户名。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-cluster NAME
设置集群名（默认： ceph ）
.UNINDENT
.INDENT 0.0
.TP
.B \-\-setuser USER
给指定用户或 UID 设置 uid （并给用户的 gid 设置 gid）
.UNINDENT
.INDENT 0.0
.TP
.B \-\-setgroup GROUP
给指定用户组或 GID 设置 gid 。
.UNINDENT
.INDENT 0.0
.TP
.B \-\-version
显示版本并退出。
.UNINDENT
.SH 全局命令
.INDENT 0.0
.TP
\fBlspools\fP
罗列对象存储池
.TP
\fBdf\fP
显示利用率统计信息，显示整个系统以及各存储池的磁盘空间（字节数）、对象数量。
.TP
\fBlist\-inconsistent\-pg\fP \fIpool\fP
罗列指定存储池内不一致的归置组。
.TP
\fBlist\-inconsistent\-obj\fP \fIpgid\fP
罗列指定 PG 内不一致的对象。
.TP
\fBlist\-inconsistent\-snapset\fP \fIpgid\fP
罗列指定 PG 内不一致的 snapset 。
.UNINDENT
.SH 特定于存储池的命令
.INDENT 0.0
.TP
\fBget\fP \fIname\fP \fIoutfile\fP
从集群读出名为 name 的对象、并把它写入 outfile 。
.TP
\fBput\fP \fIname\fP \fIinfile\fP [\-\-offset offset]
把 infile 的内容写入集群内名为 name 的对象、从偏移量 \fIoffset\fP （默认为 0 ）处写起。
\fB警告：\fPput 命令创建的是单个 RADOS 对象，尺寸和你的输入文件完全一样。
你如果不能保证对象的尺寸合理且一致，最好改用 RGW/S3 、 CephFS 或 RBD ，
否则实际运行情况和你期望的会有出入。
.TP
\fBappend\fP \fIname\fP \fIinfile\fP
把 infile 的内容追加给集群内名为 name 的对象。
.TP
\fBrm\fP [\-\-force\-full] \fIname\fP ...
删除名为 name 的对象。集群被标记为 full 时需加上 \fB\-\-force\-full\fP 选项。
.TP
\fBlistwatchers\fP \fIname\fP
罗列此对象名的关注者。
.TP
\fBls\fP \fIoutfile\fP
罗列指定存储池内的对象，并把名单写入 outfile 文件。
.TP
\fBlssnap\fP
罗列指定存储池的快照。
.TP
\fBclonedata\fP \fIsrcname\fP \fIdstname\fP \-\-object\-locator \fIkey\fP
从 \fIsrcname\fP 到 \fIdstname\fP 克隆对象字节数据，两个对象都必须以定位符关键词 \fIkey\fP
（通常是 \fIsrcname\fP 或 \fIdstname\fP ）存储。不会复制或克隆对象属性和 omap 键。
.TP
\fBmksnap\fP \fIfoo\fP
创建存储池快照，名为 \fIfoo\fP 。
.TP
\fBrmsnap\fP \fIfoo\fP
删除名为 \fIfoo\fP 的存储池快照。
.TP
\fBbench\fP \fIseconds\fP \fImode\fP [ \-b \fIobjsize\fP ] [ \-t \fIthreads\fP ]
压力测试 \fIseconds\fP 秒。 \fImode\fP 可以是 \fIwrite\fP 、 \fIseq\fP 或 \fIrand\fP 。 \fIseq\fP 和 \fIrand\fP 分别是顺序读、随机读压力测试，要想做读压力测试，先得加 \fI\-\-no\-cleanup\fP 选项做一次写压力测试。默认对象尺寸是 4 MB ，默认的模拟线程数（并行写操作）为 16 。\fI\-\-run\-name <label>\fP 选项适用于多个客户端并行测试以评估最大载荷。 \fI<label>\fP 表示任意对象名，默认为 "benchmark_last_metadata" ，且作为“读”和“写”操作的底层对象名。
注： \-b \fIobjsize\fP 仅适用于 \fIwrite\fP 模式。
注： \fIwrite\fP 和 \fIseq\fP 必须运行在相同的主机上，否则 \fIwrite\fP 所创建对象的名字不能被 \fIseq\fP 所接受。
.TP
\fBcleanup\fP [ \-\-run\-name \fIrun_name\fP ] [ \-\-prefix \fIprefix\fP ]
清理先前的基准测试操作。
注意：默认的 run\-name 是 \fBbenchmark_last_metadata\fP
.TP
\fBlistxattr\fP \fIname\fP
罗列一个对象的所有扩展属性。
.TP
\fBgetxattr\fP \fIname\fP \fIattr\fP
获取某一对象的扩展属性 \fIattr\fP 的值。
.TP
\fBsetxattr\fP \fIname\fP \fIattr\fP \fIvalue\fP
设置某一对象的扩展属性，把扩展属性 \fIattr\fP 的值设置为 \fIvalue\fP 。
.TP
\fBrmxattr\fP \fIname\fP \fIattr\fP
删除某一对象的扩展属性 \fIattr\fP 。
.TP
\fBstat\fP \fIname\fP
获取指定对象的 stat 信息（即 mtime 、 size ）。
.TP
\fBstat2\fP \fIname\fP
获取指定对象的 stat 信息（与 stat 类似，但是时间精度更高）。
.TP
\fBlistomapkeys\fP \fIname\fP
罗列 name 对象的对象映射图内存储的所有键。
.TP
\fBlistomapvals\fP \fIname\fP
罗列 name 对象的对象映射图内存储的所有键值对。值会被转储为十六进制。
.TP
\fBgetomapval\fP [ \-\-omap\-key\-file \fIfile\fP ] \fIname\fP \fIkey\fP [ \fIout\-file\fP ]
把 name 对象的对象映射图内 key 的值转储为十六进制。
如果没有提供可选参数 \fIout\-file\fP ，
这个值就会写到标准输出。
.TP
\fBsetomapval\fP [ \-\-omap\-key\-file \fIfile\fP ] \fIname\fP \fIkey\fP [ \fIvalue\fP ]
设置 name 对象的对象映射图内 key 的值。
如果没加可选的 \fIvalue\fP 参数，
就从标准输入读取。
.TP
\fBrmomapkey\fP [ \-\-omap\-key\-file \fIfile\fP ] \fIname\fP \fIkey\fP
从 name 对象的对象映射图内删除 key 。
.TP
\fBgetomapheader\fP \fIname\fP
把 name 对象的对象映射图头部转储为十六进制。
.TP
\fBsetomapheader\fP \fIname\fP \fIvalue\fP
设置 name 对象的对象映射图头部的值。
.TP
\fBexport\fP \fIfilename\fP
把存储池内容序列化为一个文件或标准输出。
.TP
\fBimport\fP [\-\-dry\-run] [\-\-no\-overwrite] < filename | \- >
把一个文件或标准输入的内容载入存储池。
.UNINDENT
.SH 实例
.sp
查看集群使用情况：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
rados df
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
获取存储池 foo 内的对象列表，并显示在标准输出：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
rados \-p foo ls \-
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
获取 PG 0.6 内的一些对象：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
rados \-\-pgid 0.6 ls
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
写入一个对象：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
rados \-p foo put myobject blah.txt
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
创建一个快照：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
rados \-p foo mksnap mysnap
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
删除对象：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
rados \-p foo rm myobject
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
读取对象先前的快照版内容：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
rados \-p foo \-s mysnap get myobject blah.txt.old
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
罗列 PG 0.6 内不一致的对象：
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
rados list\-inconsistent\-obj 0.6 \-\-format=json\-pretty
.ft P
.fi
.UNINDENT
.UNINDENT
.SH 使用范围
.sp
\fBrados\fP 是 Ceph 的一部分，这是个伸缩力强、开源、分布式的存储系统，更多信息参见 \fI\%https://docs.ceph.com\fP 。
.SH 参考
.sp
ceph(8)
.SH COPYRIGHT
2010-2014, Inktank Storage, Inc. and contributors. Licensed under Creative Commons Attribution Share Alike 3.0 (CC-BY-SA-3.0)
.\" Generated by docutils manpage writer.
.
